home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Taifun / Taifun 089 (1989-02-15)(Ossowski, Stefan)(DE)(PD).zip / Taifun 089 (1989-02-15)(Ossowski, Stefan)(DE)(PD).adf / MRBackup / MRBackup.TXT < prev    next >
Text File  |  1988-12-17  |  68KB  |  1,313 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.                                 MRBackup Version 2.4
  18.            
  19.                              A Hard Disk Backup Utility
  20.  
  21.                                        for the
  22.  
  23.                                   Commodore Amiga 
  24.  
  25.                                      August 1988
  26.            
  27.                                    Mark R. Rinfret
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.           Introduction
  37.  
  38.                This   document   describes   a   program,   named  MRBackup
  39.           (pronounced M R Backup, not Mister  Backup :-),  which will allow
  40.           you to  backup the  files on  an Amiga  hard disk drive to floppy
  41.           disk media. I wrote MRBackup primarily out of my own need. I also
  42.           saw it  as a means for learning more about programming the Amiga.
  43.           Please take the time to read  this document  carefully. There are
  44.           some fine  points ("Now  THOSE are  some fine points!") about the
  45.           program that you won't want to miss.
  46.  
  47.                MRBackup is reasonably flexible,  allowing  you  to  back up
  48.           individual directories,  directory trees or a whole disk. You can
  49.           backup from  one  directory  hierarchy  and  restore  to another.
  50.           Incremental backups  can be  performed based on file modification
  51.           dates. MRBackup also uses, at your discretion, the  "archive bit"
  52.           feature added  with release  1.2 of  the WorkBench. Just for fun,
  53.           MRBackup also talks.  Though  this  is  may  seem  frivolous, the
  54.           speech capability  provides a  method for alerting you that a new
  55.           output disk is required for formatting.
  56.  
  57.                MRBackup is not fast. When choosing a method for packing the
  58.           backup  data,   a  fast-scan  approach  with  specialized  backup
  59.           directory structure was considered. However, there is an inherent
  60.           danger in  committing multiple files to a specialized file system
  61.           which can only be accessed through a solitary  piece of software.
  62.           I decided  to maintain  the AmigaDOS  file system structure which
  63.           has a great deal of integrity and allows  the backup  media to be
  64.           accessed by  standard software. When I do it again, I'll probably
  65.           go with the specialized approach - the current method is just too
  66.           darned slow.
  67.  
  68.                The  user  should  take  a serious and organized approach to
  69.           his/her backup methods, however.  I highly  recommend that backup
  70.           listings be  kept in  a safe  place (I  use a  3-ring binder) and
  71.           backup floppies be stored  safe  from  magnetic  damage  or other
  72.           hazards  (like   spilled  coffee  -  argh!).  A  truly  committed
  73.           individual will backup his entire disk once a month, once  a week
  74.           and "areas of interest" once a day (default). 
  75.  
  76.                MRBackup  attempts  to  economize  on  output media usage by
  77.           using Lempel-Ziv data compression/decompression  (at the  cost of
  78.           time). This   is an option which can be enabled/disabled via menu
  79.           selection. The compression routine used was lifted from  the Un*x
  80.           "compress" program  but has  been adapted to employ buffering and
  81.           native AmigaDOS I/O. 
  82.  
  83.  
  84.           Operation
  85.  
  86.                To use MRBackup, click on the program icon  or type MRBackup
  87.           at the CLI prompt. A new window will open in which you will see a
  88.  
  89.  
  90.  
  91.  
  92.  
  93.           STOP sign,  some  other  gadgetry,    and  a  couple  of embedded
  94.           windows. If  you click  with the right mouse button and drag from
  95.           left to right across the menu bar, you'll see the various program
  96.           menus which control MRBackup's operation.
  97.  
  98.  
  99.           Pathname Specifications Window
  100.  
  101.                The  Pathname   Specifications  window  is  where  you  tell
  102.           MRBackup where data is coming from and going to. It  is important
  103.           to note that the meanings of "Home Path" and "Backup Path" remain
  104.           the same for a backup or a restore operation. That  is, the "Home
  105.           Path" always refers to the files' normal "home" and "Backup Path"
  106.           always refers to the  location where  the copies  are kept.   The
  107.           "Home Path"  may be  the name  of any disk directory or volume or
  108.           file-structured logical name.  The "Backup Path" must specify the
  109.           name  of   a  floppy   disk  device  if  formatting  is  enabled.
  110.           Otherwise,  it  may  specify  any  directory,   volume  or  file-
  111.           structured logical  name.   If you  try to backup/restore from/to
  112.           SER:, PRT:, etc., you shouldn't get far.  If you do, I'd  like to
  113.           hear about  it.   I've always  wanted to  be able to restore from
  114.           PRT: :-).
  115.  
  116.                The "Listing Path" refers to the  destination of  a detailed
  117.           listing of  the contents  of the  backup floppies and may specify
  118.           the printer (PRT:, default) or a file. The  listing is  an option
  119.           which may be enabled/disabled via a Flags menu selection. 
  120.  
  121.                The "Exclude  Filter", if  specified, is  the name of a file
  122.           which contains lines describing files which should not  be backed
  123.           up.    The  default  pathname for this file is "S:MRBackup.xcld".
  124.           Note that this pathname may be  overridden in  the initialization
  125.           file, MRBackup.init.  Any filename matching an entry in this list
  126.           will be excluded from  a backup.  The exclude  filter consists of
  127.           file specifications,  one per  line, or  comments (a  line with a
  128.           number sign  - # - in column 1). Blank  lines are  ignored. Also,
  129.           the  specifications  are  case-insensitive. That is, "SYSTEM" and
  130.           "system"  are  equivalent.  It  is  important  to  note  that the
  131.           pathname specifications  in the  exclude filter are assumed to be
  132.           RELATIVE to the home device.  Everything up to and  including the
  133.           colon (:)  in the  Home Path specification should be omitted from
  134.           the exclude filter specifications. Examples:
  135.  
  136.           # Exclude all object files
  137.           *.o
  138.           # Exclude all files beginning with "System"
  139.           system*
  140.           # Exclude all ".info" files
  141.           *.info
  142.           # Exclude the "include" directory and all subdirectories
  143.           include
  144.           # Exclude any file ending in a period followed by one character
  145.           *.?
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.                The "Compress Filter" provides  a  function  similar  to the
  154.           exclude filter.   It  declares the  name of a file which contains
  155.           filename patterns of files which should not be  compressed during
  156.           backup when  the Compress  Files option  is enabled.  The default
  157.           name of this filter is "S:MRBackup.cflt". It has  been found that
  158.           certain files  will actually expand when subjected to the Lempel-
  159.           Ziv compression algorithm employed by MRBackup.  Files which fall
  160.           into this  category include  archives created  by the ARC and Zoo
  161.           programs.    Also,  files  previously  compressed  should  not be
  162.           compressed  a  second  time.    Other  files  which  exhibit this
  163.           behavior  included  several  types  of  graphics  files including
  164.           certain IFF  ILBM files  and GIF files.  There are three built-in
  165.           specifications.  They are:
  166.  
  167.                *.arc     Files created by the ARC archiver
  168.                *.zoo     Files created by the Zoo archiver
  169.                *.Z       Files  created  by  MRBackup  compression  or  the
  170.                          standalone "compress" utility.
  171.  
  172.           Other specifications that you might want to include are:
  173.  
  174.                *.GIF     Graphics Interchange Format files (Compuserve)
  175.                *.IFF     IFF files (assuming you use this convention)
  176.  
  177.           Naturally, in  order to fully utilize this feature, you will have
  178.           to adopt some naming conventions for files of this category.
  179.  
  180.  
  181.                The "Preferences" pathname allows you to specify the name of
  182.           a  file  holding  your  current  MRBackup  preferences.  You  can
  183.           customize  the  operation  of  MRBackup  through  the  use  of an
  184.           initialization file.   When  you first run MRBackup, it looks for
  185.           the file named MRBackup.init,  first  in  the  current directory,
  186.           then in  the S:  directory. Each  line in the file consists of an
  187.           option setting, of the form:
  188.  
  189.           OPTION = VALUE
  190.  
  191.           or a comment. Comment lines may begin with  any of  the following
  192.           "special"  characters:   #,  !,  ;,  $,  %,  &  or  *.  A  sample
  193.           initialization file is included on the next page.  It illustrates
  194.           the use of all possible parameter settings.
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.           # This is the MRBackup preferences/initialization file.
  203.           # This file is comprised of parameter settings and comment lines.
  204.           # Parameter setting lines are of the form:
  205.           #     <keyword> = <value>
  206.           # where <keyword> names the parameter to be set and <value> is
  207.           # either a boolean (YES/NO) or a string value.
  208.           # Comments may begin with any of these special characters:
  209.           #     '#!;$%&*'.
  210.           # Leading blanks are discarded and empty lines are ignored.
  211.           # Here are your current default settings:
  212.           # Enable/Disable Lempel-Ziv file compression or decompression.
  213.           compression = YES
  214.           # Should MRBackup generate a paginated listing during backup?
  215.           listing = YES
  216.           # Should MRBackup talk to me?
  217.           speech = YES
  218.           # Are floppies to be formatted during backup?
  219.           format = NO
  220.           # Should MRBackup split large files across multiple floppies?
  221.           bigfiles = YES
  222.           # Should MRBackup set/use archive bits during backup/restore?
  223.           archivebits = YES
  224.           # What is the name of the home device/volume/directory?
  225.           home = DH0:src/mrbackupv2.4
  226.           # What is the name of the backup device/volume/directory?
  227.           backup = DF1:
  228.           # What is the name of the listing device or file?
  229.           list = mrbackup.list
  230.           # What is the name of the exclude filter file?
  231.           exclude = MRBackup.xcld
  232.           # What is the name of the compression filter file?
  233.           cfilter = S:MRBackup.cflt
  234.           # Let MRBackup talk to me.
  235.           speech =        YES
  236.           # Format each floppy targetted for output.
  237.           format =        YES
  238.           # Do special processing for "big files".
  239.           bigfiles =      YES
  240.           # Provide special handling of the "archive bit".
  241.           archivebits =   YES
  242.  
  243.  
  244.           Backing Up a Disk
  245.  
  246.                The instructions  that follow assume you are going to backup
  247.           your hard  disk,  or  a  portion  of  it,  to  unformatted floppy
  248.           diskettes.   You may also move files from/to just about any file-
  249.           structured volume or directory.  Just  remember  to  disable disk
  250.           formatting to relax the Backup Path restrictions. To back up your
  251.           hard disk, or a  section of  it, first  get an  indication of the
  252.           size of  the area  with the  Info command, "ls" (if you have it),
  253.           List, etc. If you multiply the  total number  of bytes  (blocks *
  254.           512) by  0.65, then divide by 800000, you should get a very rough
  255.  
  256.  
  257.  
  258.  
  259.  
  260.           estimate (probably high)  of  the  number  of  floppy       disks
  261.           required to  back up  that area. The floppies selected for backup
  262.           need not be preformatted, as MRBackup will format them as needed.
  263.           You should be sure, however, that no valuable data exists on them
  264.           since  it  will  be  destroyed  by  the  formatting  process,  if
  265.           formatting is enabled.
  266.  
  267.                Once your floppies are ready and stacked neatly within reach
  268.           (get some  labels and  your favorite  marker pen,  too!), the fun
  269.           begins.  First,  modify  the pathname specifications according to
  270.           your requirements. Normally, the "Home Path" would be  the device
  271.           name of your hard disk or a directory on it (e.g. DH0:) while the
  272.           "Backup Path" would specify the  device  name  of    one  of your
  273.           floppy  drives  (e.g.  DF0:).  While earlier versions of MRBackup
  274.           were pretty rigid in this regard, this version will allow  you to
  275.           specify ANY  disk device  name in either specification. PLEASE BE
  276.           CAREFUL!  Many users asked for  this increased  flexibility. Just
  277.           be aware  that it  carries with it an increased risk that you now
  278.           have more "opportunity" to  burn yourself  with improper pathname
  279.           specifications.
  280.  
  281.                Finally, the  listing path  may be set to the printer device
  282.           (PRT:) or to the name of a file on a hard drive  or any available
  283.           floppy drive  not being used by the backup. The listing path will
  284.           be ignored if you disable  the  Generate  Listing  option  in the
  285.           Flags menu.
  286.  
  287.                Make sure that you have set the desired options in the Flags
  288.           menu, then select Backup  from  the  Project  menu.  You  will be
  289.           prompted  with  a  date  requester.  The  default date value that
  290.           appears is the "beginning of time", in Amiga terms.   This causes
  291.           all files  to be considered for backup.  If that is satisfactory,
  292.           simply depress the RETURN  key and  the backup  will commence. If
  293.           you desire  to change the date, edit the date value as necessary,
  294.           using the standard Amiga conventions. Remember that to  clear the
  295.           gadget  you  may  press  right-Amiga-x.  A  null  date value (all
  296.           blanks) is allowed, should you want  to backup  all files  in the
  297.           home path,  regardless of  their creation dates. The minimum date
  298.           value handled by this  date requester  is 01/01/78.  The required
  299.           date and  time format  is MM/DD/YY  HH:MM:SS (24 hour clock), the
  300.           time specification being optional.  You  will  notice  upward and
  301.           downward pointing "arrows" above each date component. Clicking on
  302.           the appropriate arrow will increment or  decrement the respective
  303.           portion of the date. Though the values normally will wrap around,
  304.           not affecting adjacent date  components, certain  situations will
  305.           arise  where  incrementing  a  day  value  may cause the month to
  306.           increment (incrementing February 28 in a non-leap-year will yield
  307.           March  31).    There  is  also  a  "NOW"  gadget.  Though not too
  308.           meaningful by itself, it provides a convenient way  to "click in"
  309.           dates like  "yesterday".   To do  this, simply click on the "NOW"
  310.           gadget, then click on the uparrow gadget above  the day  field of
  311.           the date.
  312.  
  313.                Once  the   date  has  been  entered,  the  rest  is  fairly
  314.  
  315.  
  316.  
  317.  
  318.  
  319.           automatic. You will be  prompted immediately  for a  floppy disk.
  320.           Insert it  into the floppy drive that you specified in the backup
  321.           path and the disk requester will be satisfied. Should you want to
  322.           abort, simply  hit the  CANCEL gadget in the requester. Also, you
  323.           may abort the backup process at  any  time  by  hitting  the STOP
  324.           gadget which  appears in  the top  left area  of the screen. This
  325.           gadget is checked prior to  each  block  write  operation,  so be
  326.           patient if  it does  not respond immediately. Use the STOP gadget
  327.           with caution - it really lives up to its name!
  328.  
  329.                As each floppy disk is filled, you should promptly label it.
  330.           If formatting is enabled, MRBackup automatically generates volume
  331.           names of the form:
  332.  
  333.                Backup MM-DD-YY.<sequence number>
  334.  
  335.           Also to be noted is the fact that the files  on the  backup media
  336.           retain the  creation/modification date,  comments (FileNotes) and
  337.           protection bits of their counterparts on the home device.
  338.  
  339.                You will  find  that  the  Amiga's  multitasking environment
  340.           shines when  using this program. For those long-haul backups, get
  341.           everything started, then shove MRBackup's screen to the  back and
  342.           go start  something useful.  MRBackup will  carry on without your
  343.           watchful eye. When it needs a disk, the  disk requester  will pop
  344.           out in  front of  everything and  MRBackup will ask (out loud, if
  345.           speech is enabled ) for another disk. Having something else to do
  346.           will make the time pass faster.
  347.  
  348.  
  349.           Restoring the Backups
  350.  
  351.                No, this  isn't always  the bad part. Backup and restore can
  352.           also be useful when  your hard  disk is  crowded and  you have to
  353.           "juggle" data  around. The  restoration process is quite similar,
  354.           mechanically, to the backup  process  -  it's  just  reversed. In
  355.           addition, the meanings of the pathname specifications are altered
  356.           somewhat. The  "Home  path"  describes  the  destination  for the
  357.           restored files  and, as  with the backup process, may specify the
  358.           hard drive only or a directory  specification. The  "Backup path"
  359.           describes  the  file  or  files  to  be  restored and thus may be
  360.           defined down to the file level (1 file).
  361.  
  362.                Note that on a restore operation, the file  creation date of
  363.           the backup  file is  compared to its matching file (if it exists)
  364.           on the home device. If the file on the home device is  newer, the
  365.           file will  not be  replaced. If  this is desired, the file on the
  366.           home device must  be  deleted  first.  A  later  version  of this
  367.           program  will  probably  offer  a  "force" or "force with prompt"
  368.           option. 
  369.  
  370.  
  371.           Menus
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.                This section  provides  a  brief  description  of MRBackup's
  379.           menus and their items.
  380.  
  381.           Operations Menu
  382.  
  383.                The  Operations  Menu  provides  access  to MRBackup's major
  384.           processing functions. They are:
  385.  
  386.                About
  387.                     This  item  gives  a  quick  description  of MRBackup's
  388.                features and lists my address and phone numbers.
  389.  
  390.                Backup
  391.                     This  command  begins  the  backup  process. You should
  392.                first be sure that  all  Pathname  Specifications  and Flags
  393.                menu settings are correct.
  394.  
  395.                Resume Backup
  396.                     This  command  allows  you  to backup your hard disk in
  397.                stages or recover from  an  interruption,  such  as  a power
  398.                failure.  Prior  to  "starting" each backup floppy, MRBackup
  399.                writes information about its  current  internal  state  to a
  400.                file named  S:MRBackup.context. The  first line of this file
  401.                is the disk sequence number (1..n).  The second  line is the
  402.                name  of  the  first  file  to be written to the floppy. The
  403.                third line is the backup "delta date". Subsequent  lines are
  404.                the names  of files  and directories in MRBackup's top-level
  405.                file list. As long as the  file specified  in line  2 can be
  406.                found, MRBackup  should be  able to resume your backup, even
  407.                if changes  have  occurred  since  the  original  backup was
  408.                interrupted. You  may even edit the context file for special
  409.                situations where  you  wish  to  backup  a  disjoint  set of
  410.                directories.
  411.  
  412.                Restore
  413.                     Restore  allows   you  to  recover  files  from  backup
  414.                floppies previously created with the Backup or Resume Backup
  415.                commands. MRBackup  will prompt you for floppy disks as they
  416.                are needed. Note  that  there  is  no  prescribed  order for
  417.                restoring floppy disks.
  418.  
  419.                Load Preferences
  420.                     This  command  reads  your  Pathname Specifications and
  421.                Flag menu  settings from  a file  named S:MRBackup.init. You
  422.                would  typically  use  this  command  to  restore MRBackup's
  423.                settings to your startup settings.
  424.  
  425.                Save Preferences
  426.                     This command writes the current Pathname Specifications
  427.                and  Flag  menu  settings  to the file S:MRBackup.init. This
  428.                allows you to  establish  MRBackup's  default initialization
  429.                parameters.  MRBackup  will  attempt  to  make a copy of the
  430.                current preferences to a file of the same name, but  with an
  431.                extension  of  ".bak".    If  the  preferences name you have
  432.  
  433.  
  434.  
  435.  
  436.  
  437.                specified does not currently exist, MRBackup will inform you
  438.                that it could not make a backup.  Ignore the message in this
  439.                case.
  440.  
  441.                Utilities
  442.                     The Utilities command provides  a means  for performing
  443.                certain operations  on select  groups of files.  It provides
  444.                its own window and support gadgetry.  The utilities provided
  445.                and the  means for  accessing them  are described in a later
  446.                section  of  this  document.    PLEASE  READ  THE  UTILITIES
  447.                DOCUMENTATION  CAREFULLY!    Operation of these utilities is
  448.                not  entirely  intuitive  and  there  are  certain operating
  449.                characteristics that  you must be aware of if you are to use
  450.                them correctly.  Also, these utilities do not  attempt to be
  451.                a replacement  for the standard AmigaDos utilities.  Rather,
  452.                they are provided as a  convenience  for  use  while running
  453.                MRBackup.
  454.  
  455.  
  456.                Quit
  457.                     Alas - all good things must come to an end. As much fun
  458.                as MRBackup is to use, you'll probably want  to put  it away
  459.                once in a while :-).
  460.  
  461.  
  462.           Flags Menu
  463.  
  464.                     The  Flags  menu  allows  you  to  set or clear certain
  465.                operating  parameters  (flags)  which  constrain  MRBackup's
  466.                operation.  A  flag  is  considered  "set"  if  there  is  a
  467.                checkmark to the left of its  name in  the Flags  menu. Each
  468.                time the  item is selected it will toggle to the opposite of
  469.                its current state.
  470.  
  471.                Compress Files
  472.                     This option,  when set,  allows files  to be compressed
  473.                during   backup   and   decompressed  when  restoring.  File
  474.                compression can  typically  save  from  35%  to  60%  of the
  475.                original file  size. Though  this is more costly in terms of
  476.                time, fewer floppies will be required  to perform  a backup.
  477.                Also, in some cases, files which already contain data with a
  478.                highly random distribution of  values  (graphics  files, for
  479.                instance) will  actually start  to expand when an attempt is
  480.                made to compress them.  MRBackup will detect  this condition
  481.                and abort compression on that file, copying it instead.
  482.  
  483.                Do Big Files
  484.                     Big files  are files  whose size  exceeds the formatted
  485.                capacity of a floppy diskette  (1756  blocks).  In  order to
  486.                backup  big  files,  MRBackup  must split them across two or
  487.                more diskettes.  In  order  to  accomplish  this,  a special
  488.                information  file,  MRBackup.bigfile,  is  written  to  each
  489.                backup  diskette  containing  a  big  file.   MRBackup  also
  490.                requires  another  flag,  Format  Destination,  to be set in
  491.  
  492.  
  493.  
  494.  
  495.  
  496.                order  for  big  file  backup  to  be  attempted.  If  these
  497.                conditions are  not met,  MRBackup will simply skip over the
  498.                big file, reporting the event.
  499.  
  500.                Generate Listing
  501.                     This option causes MRBackup  to  list  the  contents of
  502.                each backup  diskette (created by the Backup command) to the
  503.                file or device specified by the Listing Path in the Pathname
  504.                Specifications window.
  505.  
  506.                Speak
  507.                     Setting the  Speak flag allows MRBackup to talk to you.
  508.                This is especially useful when  doing  backups.  When  a new
  509.                floppy  disk  is  required,  MRBackup will call you for help
  510.                (it's a pity  the  Amiga  doesn't  have  a  diskette jukebox
  511.                feature).
  512.  
  513.                Format Destination
  514.                     This flag  is normally set and tells MRBackup to format
  515.                each floppy used for backup purposes. However, you  may wish
  516.                to disable this feature for special backups which you prefer
  517.                to "refresh" by writing over previous versions of  backed up
  518.                files.
  519.  
  520.                Use Archive Bits
  521.                     A new feature, added with release 1.2 of the WorkBench,
  522.                is an archive bit in each  file's protection  word. This bit
  523.                is cleared  whenever a  file is  modified and  can be set by
  524.                MRBackup when a file  is  backed  up.  When  this  option is
  525.                enabled, files  for which the archive bit is set will not be
  526.                backed up. This gives you a very accurate  method for backup
  527.                selection  if  you're  careful  with  your  backup  diskette
  528.                library.
  529.  
  530.  
  531.  
  532.           Windows Menu
  533.                The Windows menu allows you to reactivate windows which have
  534.           been closed.  Currently, the only window supported in this manner
  535.           is the Pathname Specification  window, which  you may  close once
  536.           all pathname specifications have been made.
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.           Utilities Operation
  545.  
  546.                The  MRBackup  Utilities  window  is  activated by selecting
  547.           "Utilities" from the "Project" menu.    The  utilities  provide a
  548.           range of  services which  augment the  power of MRBackup and lend
  549.           convenience to its use.  PLEASE READ THIS SECTION CAREFULLY!  The
  550.           proper operation  of these  utilities may run counter to what you
  551.           expect and some of the features/capabilities are quite subtle.
  552.  
  553.                The first point to be  noted  is  that  these  utilities are
  554.           designed  primarily  to  perform  operations  across directory or
  555.           device boundaries, though the Compress and  Decompress operations
  556.           may be  performed in  a single directory and the Delete operation
  557.           always works  on  a  single  directory.    At  the  heart  of the
  558.           utilities' operation is a highly interactive file requester which
  559.           supports the concept of  "extended  selection"  (quite  common on
  560.           you-know-who's  computer).    With  extended  selection,  you can
  561.           select a subset of files listed for a given directory  by holding
  562.           down the  SHIFT key  during the selection process.  This group of
  563.           files may then be "fed" to the desired operation.  I will discuss
  564.           this in more detail later on.
  565.  
  566.                Now, let's  get acquainted  with the  layout of the MRBackup
  567.           Utilities window.  If  MRBackup  isn't  already  running  on your
  568.           Amiga,  fire  him  up  and  select the Utilities command from the
  569.           Project menu.  Refer to the screen while reading this document to
  570.           maintain your orientation.
  571.  
  572.                The first  thing you  should have  noticed when the MRBackup
  573.           Utilities window was activated was that  the Progress  Window was
  574.           resized,  repositioned  and  brought  to the front of the screen,
  575.           obscuring the main window title.   This is  to allow  MRBackup to
  576.           report errors to you during the use of the utilities.  Next, note
  577.           the "close box" (rectangle  with the  dot in  the middle)  on the
  578.           title bar  of the  MRBackup Utilities  window.  The utilities are
  579.           exited by clicking in the close box.  At that  time, the Progress
  580.           Window will also be put back where you had it (polite, huh?).
  581.  
  582.                The top-leftmost  gadget is labeled "FileSpec".  This gadget
  583.           allows you to limit your file searches ("From" directory only) to
  584.           only  those  files  matching  a  given  pattern.   Normally, this
  585.           pattern, if specified, will  include the  wildcard characters "*"
  586.           and "?".   For  instance (and  we're jumping ahead of ourselves a
  587.           little), if you want to decompress a group of files, it is highly
  588.           reccommended  that  you  first  enter  the  string "*.Z" into the
  589.           FileSpec gadget.  This  limits  visibility  to  only  those files
  590.           which end in ".Z" (the only files which can be decompressed).  If
  591.           you wanted to delete all object  files, you  would probably enter
  592.           "*.o" into  the FileSpec gadget.  Get the picture?  For those who
  593.           are  totally  unfamiliar  with  wildcard  (meta)  characters,  an
  594.           asterisk (*) is used to represent any number of characters, while
  595.           a question mark (?)  represents exactly  one character.   Got the
  596.           drift?  Good.
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.                To  the  right  of  the  FileSpec  gadget is a teaser.  This
  604.           gadget, shaped to look like a combination hard drive/floppy drive
  605.           unit, will  eventually enable  you to cycle through the available
  606.           storage devices on your system.   Right now,  it just  sits there
  607.           and flashes at you if you click on it.  Dumb!
  608.  
  609.                Below  the  FileSpec  gadget  are  two  triplets of gadgets,
  610.           labeled "From" and "To".    The  "From"  gadget  is  a  device or
  611.           directory  pathname  specification  for  the source of a group of
  612.           files to be operated on.  The "To" gadget specifies the device or
  613.           directory  which  is  the  destination  for  these  files  (where
  614.           appropriate).  The funny looking things to the left of "From" and
  615.           "To" (you  probably thought  they were  hamburgers) are my feeble
  616.           attempt at closed eyes.   In  the closed  position, they indicate
  617.           that the  associated file list is inactive.  In the open position
  618.           (only one  may  be  open  at  a  time),  they  indicate  that the
  619.           associated file  list is active.  In this context, "active" means
  620.           that a  scan may  be in  progress or  already completed.   To the
  621.           right of  the "From"  and "To"  pathname gadgets  are a couple of
  622.           upward pointing arrows.   These  gadgets  attempt  to  obtain the
  623.           parent directory  or device for the pathname currently displayed.
  624.           For example, if the "From"  gadget  is  currently  displaying the
  625.           pathname
  626.  
  627.                DH0:Src/Lib
  628.  
  629.           clicking on the arrow gadget will cause
  630.  
  631.                DH0:Src
  632.  
  633.           to be  displayed, the  file display  box (big  box at the bottom)
  634.           will be cleared and a new file scan will be started.   You should
  635.           also note  that the "eye" related to that gadget need not be open
  636.           for this behavior to occur.
  637.  
  638.                The next string gadget  (down)  is  labeled  "Current File".
  639.           Once you  have selected  a directory  and list  of files and have
  640.           started processing them, the  "Current File"  gadget will display
  641.           the name of the file that is currently being processed.
  642.  
  643.                Now we get to the good part.  You see a big box with a white
  644.           border in the center of the screen, with  a couple  of gadgets to
  645.           the left  named "All Files" and "Clear" and a skinny white box to
  646.           the right, filled with a white bar, right?  This is the  heart of
  647.           the  file  requester  I  mentioned earlier.  You've probably used
  648.           similar file requesters before.  Though I wrote original code for
  649.           this,  I  tip  my  hat  to  Charlie Smith (MicroSmiths) and Peter
  650.           daSilva for their pioneering  in this  area.   I borrowed heavily
  651.           from their  prior works.  In discussing the operation of the file
  652.           requester, I will be referring back  to the  previously described
  653.           gadgets.
  654.  
  655.                In order  to do something here, you first have to select one
  656.           or more files to "do it to".  This group of files is described by
  657.  
  658.  
  659.  
  660.  
  661.  
  662.           the "From"  list.  You can start a scan for this list by entering
  663.           the desired starting  path  in  the  "From"  pathname  gadget and
  664.           hitting the  RETURN key or by clicking on the associated eyeball.
  665.           If you have done  this correctly,  you should  immediately note a
  666.           bustle  of  activity  as  the  disk is searched and the screen is
  667.           updated.  You should observe filenames appearing in the requester
  668.           display box  and the  white bar in the box next to it (we'll call
  669.           it the "slider")  should  start  to  shrink.    Depending  on the
  670.           starting  path  you  entered  into  the  "From" gadget, you might
  671.           notice that some of the filenames  are displayed  in white, while
  672.           others are displayed in red.  Those displayed in white are simple
  673.           filenames, while those in red are the names  of directories.   If
  674.           you want  a good  illustration of this, select FONTS: or DEVS: as
  675.           the starting path.   You  should  also  note  that  the filenames
  676.           appear in  unsorted order.   They  will remain unsorted until you
  677.           click on the slider.
  678.  
  679.                Now let's discuss the  interactive and  interruptible nature
  680.           of the  file requester.   The normal human tendency is to start a
  681.           scan, then sit back until some indication is given that  the scan
  682.           is complete, then start mucking with the list of files.  Don't be
  683.           so polite!  You can do just about anything, short  of clicking on
  684.           those big  boxes to  the right  (command buttons)  that I haven't
  685.           described yet.  To select a file, position the mouse pointer over
  686.           its name  in the  display box  and click once.  You should notice
  687.           that the filename is now displayed in reverse video.   This means
  688.           that the  file is  selected.   If you  click the  same file again
  689.           (after a short pause), the file will revert to normal  video (the
  690.           unselected state - sort of like Rhode Island :-).  If you wish to
  691.           select multiple files, depress the SHIFT  key (either  one) prior
  692.           to  clicking  the  mouse.    Otherwise,  the  previously selected
  693.           file(s) will be deselected.   If  you wish  to select  ALL files,
  694.           wait until  the scan is complete, then click in the little box to
  695.           the  right  of  the  "All  Files"  gadget.    To  clear  all file
  696.           selections, click  in the  little box to the right of the "Clear"
  697.           gadget.
  698.  
  699.                You will  notice that  only 12  filenames can  appear in the
  700.           display  box  at  any  time.    By  using  the  slider,  you  can
  701.           view/select other files in the list.  You  do this  by "dragging"
  702.           the slider  bar -  click the  mouse on  it and, while holding the
  703.           mouse button down, drag the mouse pointer downward.  When you let
  704.           up, other  filenames should  be revealed (depending upon how many
  705.           files are contained in  the currently  selected directory).   The
  706.           size of  the slider bar is proportional to the number of files in
  707.           the directory.  If half of the files are visible, the bar will be
  708.           one-half the  size of  the slider box.  Also, note that if a scan
  709.           is in progress, the file list will be resorted (case-insensitive)
  710.           each time you click on the slider.
  711.  
  712.                To descend  to deeper levels in the directory structure, you
  713.           can either type a new name in the "From" gadget (the hard way) or
  714.           you can  double-click (two  mouse clicks in rapid succession) any
  715.           of the red (directory name) entries  visible in  the display box.
  716.  
  717.  
  718.  
  719.  
  720.  
  721.           A new  scan will  immediately be started even if the current scan
  722.           is not complete.   To go  back up  the directory  tree, click the
  723.           up-arrow gadget  described earlier.   Again, the current scan (if
  724.           active) will be abandoned and  a  new  one  started  at  the next
  725.           higher level.
  726.  
  727.                The preceding discussion has focused on the behaviour of the
  728.           file requester when  the  "From"  list  is  active.    Though its
  729.           behaviour for  the "To"  list is  similar, there  are some strong
  730.           differences.  First of all, the  object  of  a  "To"  scan  is to
  731.           select a  target DIRECTORY  (not a  file).  You will observe that
  732.           only directory pathnames appear in the display list  when doing a
  733.           "To" scan.   Also,  extended selection (via SHIFT key or the "All
  734.           Files" gadget) is meaningless  here and  so it  is not supported.
  735.           You just  use the  "To" scan  to locate a target directory.  Once
  736.           found, double-clicking on the directory name will cause  it to be
  737.           added to the "To" pathname.  The interruptible nature of the file
  738.           requester is also supported for this mode.
  739.  
  740.                Before getting to the processing options (Soon, I promise!),
  741.           there is one other file requester behavior to note.  If you start
  742.           a scan for one list, then start a scan for the other  list before
  743.           the first  one is complete, the partial results of the first scan
  744.           will be abandoned.  If the scan is  allowed to  complete, you may
  745.           then activate the other list, do some navigating, then reactivate
  746.           the  other  list  with  its  eyeball.    It  will  be redisplayed
  747.           immediately without  a re-scan.   This  may not be what you want,
  748.           especially if both "From"  and "To"  lists are  on floppies.   To
  749.           force  a  rescan,  just  position  the  mouse  pointer  into  the
  750.           appropriate "From" or "To" pathname gadget  and press  the RETURN
  751.           key.
  752.  
  753.                OK, let's  get back  to those  labeled buttons on the right.
  754.           Those are the "command  buttons"  which  tell  MRBackup  to start
  755.           performing specific  processing on  the files  you have selected.
  756.           For all operations, the current file is displayed in the "Current
  757.           File"  gadget  (how  appropriate!).    If  an  error  occurs that
  758.           MRBackup considers  "tolerable",  you  will  be  prompted  with a
  759.           requester  that  will  give  you  the  choice  of  continuing  or
  760.           aborting.  As each file is  processed, its  name is  removed from
  761.           the list  and the  display box  is refreshed.  When processing is
  762.           complete, one of two things will happen.   If there  were errors,
  763.           the display  box will  be left  displaying the names of the files
  764.           that were not processed.  If all went  well, a  new scan  will be
  765.           started  for  the  "From"  list.    Please  note  that no support
  766.           currently exists for processing "nested" directories.  Though you
  767.           are  allowed  to  select  directory  entries, the utilities won't
  768.           descend to the next level and process files there.  I hope to add
  769.           support for  nested levels  at a  later date.  The description of
  770.           the command buttons and their processing follows.
  771.  
  772.           Compress
  773.                The  selected  files  will  be  compressed,  using  the same
  774.           Lempel-Ziv method  used by the Backup command.  Unlike the Backup
  775.  
  776.  
  777.  
  778.  
  779.  
  780.           command, however, files  that  don't  compress  properly  are not
  781.           copied instead.   The  file date  and comment are maintained. The
  782.           destination file will have the suffix ".Z" appended  to its name.
  783.           Also  -  and  this  is  important!  -  if  the  "From"  and  "To"
  784.           specifications are identical, the  original file  will be deleted
  785.           if the compression is successful.  This is standard Unix compress
  786.           behavior which seems quite appropriate to me.
  787.  
  788.           Decompress
  789.                The selected files will be  decompressed.    Note  that only
  790.           files whose  names end  in ".Z"  will be processed, regardless of
  791.           what may be in your selection list.   It is  a good  idea to type
  792.           ".Z"  into  the  FileSpec  gadget  to  limit  visibility  only to
  793.           compressed files.  This will prevent confusion. The file date and
  794.           comment are  maintained. Again,  as with  compress, if the "From"
  795.           and "To" specifications are the same,  the original  file will be
  796.           deleted after a successful decompression.
  797.  
  798.           Copy
  799.                The  selected  files  will  be copied to the "To" directory,
  800.           which MUST BE DIFFERENT  than the  "From" directory.   File dates
  801.           and comments are maintained.
  802.  
  803.           Rename
  804.                The selected  files are  renamed (moved) to a new directory.
  805.           The "From"  and "To"  directories MUST  BE DIFFERENT.   Also note
  806.           that you  cannot rename across device boundaries.  If you wish to
  807.           do this, use a combination of the Copy and Delete operations.
  808.  
  809.           Delete
  810.                The selected files are deleted.  Period.   Please be careful
  811.           with this  as there is currently no "last chance" prompt prior to
  812.           the operation.  
  813.  
  814.           SetArcBit
  815.                The AmigaDOS "archive bit"  will  be  set  for  all selected
  816.           files.  This could be used to inhibit the backup of certain files
  817.           when the "Use Archive Bits" flag is set.
  818.  
  819.           ClrArcBit
  820.                The AmigaDOS "archive bit" will be cleared for  all selected
  821.           files.   This would  assure that certain files would be backed up
  822.           when the "Use Archive Bits" flag  is set.   Another  use for this
  823.           operation  is  to  "unmark"  files  that  were marked as archived
  824.           during a failed backup operation.  This would be done  before the
  825.           "Resume Backup" command is used.
  826.  
  827.                There's room for lots more stuff here, but the usual lack of
  828.           time keeps me from getting them in this release.  I would like to
  829.           add  a  MakeDir  command  and  possibly  add an "Execute" command
  830.           button which would fire a command off to a CLI.  Also  nice would
  831.           be  some  running  statistics  (file  count,  bytes in/out, etc.)
  832.           during file processing.  Support for  nested directories  is next
  833.           on the  agenda.  Please give me your feedback on your impressions
  834.  
  835.  
  836.  
  837.  
  838.  
  839.           and any suggestions you might have.
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.           Warranties and Support
  848.  
  849.                There are no warranties,  either expressed  or implied, with
  850.           regard to  the use  of this  program. You  didn't pay for it (did
  851.           you?), so how's you gonna' get  you money  back (sic,  sic, sic)?
  852.           Seriously, folk,  I've tested  this beastie  pretty thoroughly (I
  853.           USE it!), but you know how things go. There may  be a  bugaboo or
  854.           two lurking  about. Please exercise it a little before committing
  855.           your life (your precious data) to its care.
  856.  
  857.                As for support, I will do my best to respond  to bug reports
  858.           for as  long as I have an Amiga in working condition. I will only
  859.           support the most recent  version,  so  please  know  your version
  860.           number if you call. 
  861.  
  862.                Several people have suggested that I should have made this a
  863.           shareware product, if not a commercial one. I  don't really think
  864.           that shareware  works, and it really was not my intention to make
  865.           money with this program. I can  see in  retrospect, however, that
  866.           there was  a need  for such a utility and that with a little more
  867.           work (OK,  a lot  of work!),  I could  probably have  had a minor
  868.           financial  success.  However,  by  my  standards, that would have
  869.           required a lot more effort and commitment than  I had  to give at
  870.           the time.   MRBackup  will have to be a lot faster (and have more
  871.           features) to  qualify as  a commercial  product.   Your calls and
  872.           letters have been extremely gratifying and all the incentive I've
  873.           needed to continue to steal a  couple  hours  here  and  there to
  874.           continue making improvements.  If anyone wants to talk a deal for
  875.           some reasonably priced custom software, however, I'm all ears.
  876.  
  877.                Surpisingly, several users of  MRBackup  have  made monetary
  878.           contributions above the $2.00 I've asked for disk and postage.  I
  879.           would like  to publicly  thank them  by including  their names in
  880.           this "MRBackup Roll of Honor" (order by amount contributed):
  881.  
  882.                John Sauter, Merrimack, NH    <-- From my home state!
  883.                Don Estok, USCG, Kodiak, AK   <-- Classy letter, Don!
  884.                Milt Very, Oakdale, CA        <-- Thanks, Very! (much)
  885.                Paul Coene, Rochester, NY
  886.                Tony Koen, Hutchinson, KS
  887.                Robert Farrel, Tivoli, NY
  888.                Ralph Watson, Chesterfield, SC
  889.                Ray Hulinsky, Lincoln, NE
  890.  
  891.                Roll   of   honor   members   will  receive  special  notice
  892.           (unsolicited/free  updates,  in  some  cases)  of   new  MRBackup
  893.           releases and  other PD  stuff that  I may find the time to write.
  894.           All MRBackup users will get a reasonable response  to bug reports
  895.           and feature suggestions.  You are not expected to contribute, and
  896.           I will not hold you in  disregard  if  you  call  with  a problem
  897.           though  you  are  a  non-contributing  user  -  I'll be grateful.
  898.           Constructive user feedback is a programmer's best friend.
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.           Permissions
  907.  
  908.                This program is contributed to the public domain, as a token
  909.           of  gratitude  for  the  many  wonderful programs I have received
  910.           through the same channels. Feel free  to enhance,  destroy, sell,
  911.           distribute  or  otherwise  benefit  from  the  legal  use of this
  912.           program. I would love to hear from those of you who find MRBackup
  913.           either useful  or useless (with specific criticisms in the latter
  914.           case). If you make  any enhancements  (there's room  for PLENTY),
  915.           please share  them with  me and  the rest  of the world. I can be
  916.           reached as:
  917.  
  918.                mrr@amanpt1.ZONE1.COM
  919.                ...rayssd!galaxia!amanpt1!mrr
  920.  
  921.                or
  922.  
  923.                Mark R. Rinfret
  924.                348 Indian Avenue
  925.                Portsmouth, RI 02871
  926.                401-846-7639 (home)
  927.                401-849-8900 (work)
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.           Changes
  937.  
  938.                This section lists changes, in reverse  chronological order,
  939.           as they  have appeared in subsequent releases of MRBackup. I have
  940.           attempted to be thorough, but may have missed a few key items.
  941.  
  942.           Version 2.4
  943.  
  944.                Version 2.3 beta got very limited distribution and there was
  945.           no 2.4 beta.  Just before I was ready to release 2.3, I got a few
  946.           crank  phone  calls  (just   kidding!)   complaining   about  the
  947.           "compression/expansion  thing".    It  seems that some files were
  948.           actually growing larger when  MRBackup  tried  to  compress them!
  949.           That sounds  a lot  like me when I go on a diet!  Version 2.4 now
  950.           has logic to detect this  condition  and  abort  file compression
  951.           when it occurs.  As I implemented this "reactive" solution, which
  952.           could be very costly, time-wise,  if  many  files  exhibited this
  953.           behavior, I realized that it would be nice to have a "preventive"
  954.           solution  as  well.    The  solution  is  a   new  support  file,
  955.           MRBackup.cflt (or  a name of your choosing) which specifies files
  956.           that are not to be compressed.   Your  responsibility is  to name
  957.           files in  a consistent  manner that  can be matched by a filename
  958.           pattern.  Fair enough?
  959.  
  960.                I got an  e-mail  message  from  C.  Harald  Koch  at  U. of
  961.           Toronto, requesting  me to  relax the requirement that the backup
  962.           path had to be the name of  a  disk  device.    He  wanted  to do
  963.           backups over  an Ethernet  link.   I wish  I had such "problems"!
  964.           I've honored the request and say "thanks" to "chk" for pushing me
  965.           into  it.    The  backup  path  is now only required to be a disk
  966.           device name if the disk formatting option is enabled and  you are
  967.           doing a  backup.   I've also relaxed the restrictions on the home
  968.           path.
  969.  
  970.                If you've ever designated a disk  file as  the Listing Path,
  971.           you've probably  gotten a non-fatal error which informed you that
  972.           the file could not be accessed.  Of course not - it  was open for
  973.           output.   Past versions  of MRBackup  attempted to  head off this
  974.           error but lacked the  "smarts" to  do it  well.   This version of
  975.           MRBackup converts  your listing  path specification  into a fully
  976.           qualified pathname, then adds it to the Exclude Filter list.  You
  977.           shouldn't get any more interruptions from this problem.
  978.  
  979.                I've  made  some  nice  changes to Load Preferences and Save
  980.           Preferences.  Save Preferences now generates comments interleaved
  981.           with  your  current  settings.   The comments explain the general
  982.           format of the file and each option line.  Load Preferences (which
  983.           is automatically  invoked when you start MRBackup) allows several
  984.           new special characters to  indicate  a  comment  line.    It also
  985.           ignores  leading  blanks  on  any  line.    If you're replacing a
  986.           previous version of MRBackup, It is recommended that you use Save
  987.           Preferences immediately  upon running  MRBackup to generate a new
  988.           preferences file (MRBackup.init).
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.                This version of MRBackup uses SIMPLE_REFRESH windows for all
  996.           but the  Progress Window.   This  should cut  down quite a bit on
  997.           chip RAM usage.
  998.  
  999.  
  1000.           Bugs
  1001.  
  1002.                The only known bug in this version of  MRBackup is  that you
  1003.           will lose about 64 bytes of system memory with each invocation of
  1004.           MRBackup.  The problem is due to poor housekeeping on  my part, I
  1005.           assume, and  I'm tracking  down the problem but haven't nailed it
  1006.           yet.  I don't think it's serious enough to warrant a delay in the
  1007.           release of this version.  
  1008.  
  1009.                There is  a screen update anomoly which I'm not convinced is
  1010.           MRBackup's fault.  When running with DMouse, V1.09,  I've noticed
  1011.           that  my  windows  occaisionally  get  trashed (they don't update
  1012.           properly).  I also noticed this  with some  WorkBench windows, so
  1013.           I'm inclined  to believe  that DMouse  might have something to do
  1014.           with it.  I haven't investigated the problem, but I  believe that
  1015.           there are options in DMouse which will correct the situation.
  1016.                PLEASE!    If  you  discover  problems with MRBackup, let me
  1017.           know!   I want  to know  about and  eliminate them  as quickly as
  1018.           possible, but your feedback is vital.  When you're stealing a few
  1019.           hours a week from a crowded  schedule to  hack on  something like
  1020.           this, there isn't a whole lot of time left for testing.  I try to
  1021.           be thorough but don't always succeed.  Help me out!
  1022.            
  1023.  
  1024.                 
  1025.           Version 2.3 (beta)
  1026.  
  1027.                The  file  decompression  routine  (invoked  by  the Restore
  1028.           command)  was  not  clearing  its  status variable.  As a result,
  1029.           prior errors detected by either file compression or decompression
  1030.           would be  picked up by subsequent decompression operations.  This
  1031.           bug has been eliminated.
  1032.  
  1033.                The Save Preferences command was saving  the Compress option
  1034.           incorrectly.  This is fixed in version 2.3.
  1035.  
  1036.                The date routines used by MRBackup have undergone a thorough
  1037.           overhaul.  Special thanks to Thad  Floryan for  his DateStamp-to-
  1038.           Julian date  conversion algorithm.   The  previous lower limit of
  1039.           03/01/84 has been removed.
  1040.  
  1041.                The context saving routines (which support the Resume Backup
  1042.           command) were  working incorrectly  in some  cases.  This problem
  1043.           has been fixed.
  1044.  
  1045.                A new Utilities menu has been added.  This menu provides all
  1046.           sorts  of  file  maintenance  services, including individual file
  1047.           compression/decompression, copying, renaming, etc.
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.           Bugs:
  1055.                Compress will, on occaision, create a destination file which
  1056.           is larger  than the  original.   The last  reported occurrence of
  1057.           this was with IFF ILBM files  (thanks,  John  Hopf).    I haven't
  1058.           investigated the  problem yet.   If I do fix it, it will probably
  1059.           involve something like this:
  1060.  
  1061.                Compress the file
  1062.                Is it bigger? -> yes -> Delete and copy
  1063.  
  1064.           This could get quite time consuming  for  a  large  run  of files
  1065.           which exhibit  this behavior.  One alternative would be to have a
  1066.           list of "compression excludes", similar to  the current exclusion
  1067.           list.   All files  matching the  specifications in the list would
  1068.           not be compressed.  Another approach would be  to insert sampling
  1069.           code in  the compression  routine which  would be smart enough to
  1070.           decide early  on in  the compression  that things  were not going
  1071.           well.  I'm thinking...
  1072.  
  1073.           Version 2.2
  1074.  
  1075.                MRBackup   now    searches   the   current   directory   for
  1076.           MRBackup.init upon startup.    This  allows  you  to  have custom
  1077.           backup preferences  for separate projects which are automatically
  1078.           found if you start MRBackup  using  the  CLI  interface  from the
  1079.           directory containing the file MRBackup.init.
  1080.  
  1081.                Prior to  this release,  the specification  of a new listing
  1082.           path caused the listing  to be  immediately rewritten.   This was
  1083.           not a  GOOD THING  since your old listing file could be destroyed
  1084.           before you got a chance to select a new name.  Now, MRBackup uses
  1085.           append   access   when   testing   the   listing   pathname   for
  1086.           accessibility.  It still  rewrites the  file once  the backup has
  1087.           started, however.
  1088.  
  1089.                I've added a few more messages to greet you when MRBackup is
  1090.           first started.
  1091.  
  1092.                Most people who  have  had  trouble  with  MRBackup  did not
  1093.           understand  the  purpose  of  the  file change delta date ("since
  1094.           date") requested when a backup was started. They  typically would
  1095.           let it default, then not understand why more files weren't backed
  1096.           up.  I have changed the default to  include all  files.   This is
  1097.           probably  more  useful,  especially  with  the  new  archive bits
  1098.           feature.
  1099.  
  1100.  
  1101.           Version 2.1
  1102.  
  1103.                Added the "archive bits" capability.
  1104.  
  1105.                Fixed  an  error  in  the  file  exclusion  list  processing
  1106.           algorithm.  While   this  problem  seems  to  have  drawn  little
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.           attention, the  previous algorithm  did not  properly handle file
  1113.           specifications involving nested directory components.
  1114.  
  1115.                File  comments  and  protection  bits now are saved/restored
  1116.           along with the file date.
  1117.  
  1118.                A new command, Resume Backup, plus  a new  method for saving
  1119.           "context" information, has been implemented. 
  1120.  
  1121.  
  1122.           Version 2.0
  1123.  
  1124.           New User Interface
  1125.  
  1126.                MRBackup has  undergone a major facelift. It now has its own
  1127.           screen and color palette and newly  designed menus  and gadgetry.
  1128.           All  of   this  is  due  to  my  use  of  PowerWindows  2.0  from
  1129.           Inovatronics, a very worthwhile tool for Intuition programming.
  1130.  
  1131.                You will notice some new gadgetry on the  screen. I've added
  1132.           a  "fuel  gauge"  which  indicates  the  "fullness" of the output
  1133.           floppy. There's a  new  error  count  gadget  which  tracks total
  1134.           errors  encountered  and  a  "Current  Backup Volume Name" gadget
  1135.           which keeps  you  informed  as  to  which  disk  you're currently
  1136.           archiving to or restoring from.
  1137.  
  1138.                The  Pathname  Specifications  window  has a close box which
  1139.           will make the window go away.  A new  menu, Windows,  has an item
  1140.           Pathnames which will reopen the window for you.
  1141.  
  1142.                A  new  command,  Save  Preferences, allows you to save your
  1143.           current  pathname  specs  and  flags  to   the  preferences  file
  1144.           (S:MRBackup.init). The Flags menu has been totally redone. This 
  1145.           menu previously consisted of item pairs (<feature>/No <feature> -
  1146.           pretty dumb, I must  admit -  I think  I was  intrigued by mutual
  1147.           exclusion  at  the  time).  The  new  Flags menu just consists of
  1148.           check-marked  items.  If  an  item  is  checked,  the  feature is
  1149.           enabled.
  1150.  
  1151.  
  1152.           Improved Error Handling
  1153.  
  1154.                This is  usually the  hardest task  in any programming chore
  1155.           and  usually  gets  the  least  attention.  Previous  versions of
  1156.           MRBackup were no exception. Version 2.0, however, has come a long
  1157.           way in this direction, especially in the area  of recoverability.
  1158.           A new requester has been introduced which lists your recovery (or
  1159.           abort) options  when  certain  errors  have  been  detected. Most
  1160.           significantly, new  context-saving code has been added which will
  1161.           allow you to restart a backup disk from  its beginning,  should a
  1162.           non-recoverable  output  error  occur.  Currently,  this  context
  1163.           information is saved in memory. I would like to save it to a file
  1164.           on the system disk. This, coupled with  
  1165.           a new  command (Resume  Backup), would allow recovery even from a
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.           power failure.
  1172.  
  1173.  
  1174.           Increased Flexibility
  1175.  
  1176.                Previous versions of MRBackup were fairly  rigid with regard
  1177.           to home  and backup  path specifications.  Version 2.0 allows ANY
  1178.           disk device to be referenced in either location.  On systems with
  1179.           dual floppy disks, you can even backup from floppy to floppy!
  1180.  
  1181.                MRBackup now allows you to suppress formatting of the backup
  1182.           disk. This allows you  to "freshen"  a previously  created backup
  1183.           set. Though  this option  should be used with care, it does speed
  1184.           things up and enhances MRBackup's partial backup capability.
  1185.  
  1186.  
  1187.           Big File Handling
  1188.  
  1189.                This is truly a last-minute item!  I personally don't have a
  1190.           file big  enough to require this, so I didn't address the problem
  1191.           initially. However, enough users have requested this that  I took
  1192.           a stab at it. "Big" files, according to MRBackup, are files which
  1193.           are larger than the formatted capacity  of the  output media. Iff
  1194.           (sic) you enable the "Do Big Files" and "Format Destination" Flag
  1195.           menu items, MRBackup will split big files across  multiple floppy
  1196.           disks.  If  these  options  are  not  enabled, MRBackup will just
  1197.           complain that the file is too big to back up and go on.
  1198.  
  1199.                Some of you will probably think that the  method used  to do
  1200.           this is  somewhat kludgy, but it's consistent with my approach to
  1201.           total AmigaDOS compatibility.  When  backing  up  a  big  file, a
  1202.           special  information  file,  MRBackup.bigfile,  is written to the
  1203.           output disk. The information  file contains  stuff like  the file
  1204.           name, the "chunk number" (which piece of the file is this?),  the
  1205.           chunk size, and a flag which indicates whether  this is  the last
  1206.           chunk.  This  information  is  used  by  the restore operation to
  1207.           insure that the file chunks get reassembled in the correct order.
  1208.  
  1209.                In order to test this, I had to write a program to  create a
  1210.           big file  (slightly larger  than 1  floppy disk),  archive it and
  1211.           restore it, then compare the two files. To do all this, I  had to
  1212.           first clean  house on  my 20  MB hard drive!  The big file backup
  1213.           appears to work OK. I  think  it  could  use  some  more testing,
  1214.           however,  and  would  encourage  you  to test drive it before you
  1215.           commit to it.
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.                                         Index
  1223.  
  1224.           "All Files" gadget  . . . . . . . . . . . . . . . . . . .  12, 13
  1225.           "Clear" gadget  . . . . . . . . . . . . . . . . . . . . .  12, 13
  1226.           "Current File" gadget . . . . . . . . . . . . . . . . . .  12, 14
  1227.           "From" gadget . . . . . . . . . . . . . . . . . . . . . . . .  12
  1228.           "NOW" gadget  . . . . . . . . . . . . . . . . . . . . . . . . . 6
  1229.           "To" gadget . . . . . . . . . . . . . . . . . . . . . . . . .  12
  1230.           Archive bit . . . . . . . . . . . . . . . . . . . . . . .  10, 15
  1231.           archive bits  . . . . . . . . . . . . . . . . . . . . . . . . . 2
  1232.           Arrow gadget  . . . . . . . . . . . . . . . . . . . . . . . .  12
  1233.           Backing Up a Disk . . . . . . . . . . . . . . . . . . . . . . . 5
  1234.           Backup  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
  1235.           Backup Path . . . . . . . . . . . . . . . . . . . . .  3, 5, 6, 7
  1236.           Big files . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
  1237.           Changes . . . . . . . . . . . . . . . . . . . . . . . . . . .  19
  1238.           Chunk number  . . . . . . . . . . . . . . . . . . . . . . . .  23
  1239.           Chunk size  . . . . . . . . . . . . . . . . . . . . . . . . .  23
  1240.           Command buttons . . . . . . . . . . . . . . . . . . . . .  13, 14
  1241.           Comment lines . . . . . . . . . . . . . . . . . . . . . . . . . 4
  1242.           Comments  . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
  1243.           Compress  . . . . . . . . . . . . . . . . . . . . . . . .  11, 14
  1244.           Compress Files  . . . . . . . . . . . . . . . . . . . . . . . . 9
  1245.           Compression . . . . . . . . . . . . . . . . . . . . . . . . . . 2
  1246.           Copy  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  15
  1247.           Creation/modification date  . . . . . . . . . . . . . . . . . . 7
  1248.           Date and time format  . . . . . . . . . . . . . . . . . . . . . 6
  1249.           Date requester  . . . . . . . . . . . . . . . . . . . . . . . . 6
  1250.           Decompress  . . . . . . . . . . . . . . . . . . . . . . .  11, 15
  1251.           Decompression . . . . . . . . . . . . . . . . . . . . . . . . . 2
  1252.           Delete  . . . . . . . . . . . . . . . . . . . . . . . . . . .  15
  1253.           Disk sequence number  . . . . . . . . . . . . . . . . . . . . . 8
  1254.           Do Big Files  . . . . . . . . . . . . . . . . . . . . . . . . . 9
  1255.           Exclude file  . . . . . . . . . . . . . . . . . . . . . . . . . 3
  1256.           Exclude Path  . . . . . . . . . . . . . . . . . . . . . . . . . 3
  1257.           Extended selection  . . . . . . . . . . . . . . . . . . . . .  11
  1258.           File display box  . . . . . . . . . . . . . . . . . . . . . .  12
  1259.           File requester  . . . . . . . . . . . . . . . . . . . . . . .  12
  1260.           FileSpec  . . . . . . . . . . . . . . . . . . . . . . . . . .  11
  1261.           Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
  1262.           Flags Menu  . . . . . . . . . . . . . . . . . . . . . . . . . . 9
  1263.           Format Destination  . . . . . . . . . . . . . . . . . . . . 9, 10
  1264.           Generate Listing  . . . . . . . . . . . . . . . . . . . . . .  10
  1265.           Home Path . . . . . . . . . . . . . . . . . . . . . . . . 3, 6, 7
  1266.           Initialization file . . . . . . . . . . . . . . . . . . . . . . 4
  1267.           Initialization parameters . . . . . . . . . . . . . . . . . . . 8
  1268.           Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 2
  1269.           Lempel-Ziv  . . . . . . . . . . . . . . . . . . . . . . . . .  14
  1270.           Listing Path  . . . . . . . . . . . . . . . . . . . . .  3, 6, 10
  1271.           Load Preferences  . . . . . . . . . . . . . . . . . . . . . . . 8
  1272.           Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
  1273.           MRBackup Roll of Honor  . . . . . . . . . . . . . . . . . . .  17
  1274.           MRBackup Utilities  . . . . . . . . . . . . . . . . . . . . .  11
  1275.           MRBackup.bigfile  . . . . . . . . . . . . . . . . . . . . . 9, 23
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.           MRBackup.context  . . . . . . . . . . . . . . . . . . . . . . . 8
  1282.           MRBackup.init . . . . . . . . . . . . . . . . . . . . . . .  4, 8
  1283.           MRBackup.xcld . . . . . . . . . . . . . . . . . . . . . . . . . 3
  1284.           Operations Menu . . . . . . . . . . . . . . . . . . . . . . . . 8
  1285.           Parent directory  . . . . . . . . . . . . . . . . . . . . . .  12
  1286.           Pathname Specification  . . . . . . . . . . . . . . . . . . .  10
  1287.           Pathname Specifications . . . . . . . . . . . . . . . 3, 6, 8, 10
  1288.           Permissions . . . . . . . . . . . . . . . . . . . . . . . . .  18
  1289.           Preferences . . . . . . . . . . . . . . . . . . . . . . . .  4, 8
  1290.           Protection  . . . . . . . . . . . . . . . . . . . . . . . . .  10
  1291.           Protection bits . . . . . . . . . . . . . . . . . . . . . . . . 7
  1292.           Quit  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
  1293.           Rename  . . . . . . . . . . . . . . . . . . . . . . . . . . .  15
  1294.           Restore . . . . . . . . . . . . . . . . . . . . . . . . . .  7, 8
  1295.           Restoring the Backups . . . . . . . . . . . . . . . . . . . . . 7
  1296.           Resume Backup . . . . . . . . . . . . . . . . . . . . . . . 8, 15
  1297.           Save Preferences  . . . . . . . . . . . . . . . . . . . . . . . 8
  1298.           Select multiple files . . . . . . . . . . . . . . . . . . . .  13
  1299.           Settings  . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
  1300.           Slider  . . . . . . . . . . . . . . . . . . . . . . . . . . .  13
  1301.           Speak . . . . . . . . . . . . . . . . . . . . . . . . . . . .  10
  1302.           STOP gadget . . . . . . . . . . . . . . . . . . . . . . . . . . 7
  1303.           Up-arrow gadget . . . . . . . . . . . . . . . . . . . . . . .  14
  1304.           Use Archive Bits  . . . . . . . . . . . . . . . . . . . . . .  10
  1305.           Utilities . . . . . . . . . . . . . . . . . . . . . . . . . 9, 11
  1306.           Utilities Operation . . . . . . . . . . . . . . . . . . . . .  11
  1307.           Volume names  . . . . . . . . . . . . . . . . . . . . . . . . . 7
  1308.           Warranties and Support  . . . . . . . . . . . . . . . . . . .  17
  1309.           Windows Menu  . . . . . . . . . . . . . . . . . . . . . . . .  10
  1310.           Yesterday . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
  1311.  
  1312.  
  1313.